1. Field of the Invention
The present invention generally relates to a means of generating unique identifiers using hardware such that multiple hardware resources can possess a means to communicate and/or be controlled by another source.
With the proliferation of electronic circuitry comes more complex and intricate systems composed of many different circuits that must work together to accomplish a task. Often such parameters as speed and cost drive the system designs. Reliability, resource usage, and flexibility of the systems are also factors that contribute to design.
For example, in the semiconductor manufacturing industry, test systems are a very large component of cost. Testing is typically time consuming, and requires specific equipment, overhead, and resources. Furthermore, testing varies from IC design to IC design, requiring more system flexibility. Current testing systems, formats and infrastructure do not efficiently accommodate such a wide variety of required tests.
2. Brief Summary of the Invention
An embodiment described herein provides a flexible system, which, for example, reduces power consumption during test, enables modification of test specifications to improve yield, and reduced pin count diagnostic operations, as well as other advantages not listed here but as can be appreciated by one of ordinary skill in the art.
The system includes a controller for enabling an enumeration operation, and at least one logic element. Multiple circuits under test (CUT) are coupled to logic elements, which execute the testing operations according to test data structures (e.g. files, patterns, etc.).
Each logic element has a unique ID that it assigns to itself when given the enumeration command by the controller (generally at power up). Typically the enumeration command is performed only once but is not limited to a single run. The system performs tests on the CUTs by instructing the controller and the logic elements. Tests can be performed by all logic elements, a subset of logic elements, or a single logic element. For example, the system can issue a command to test all of the SRAM CUTs by specifying that the logic elements coupled to SRAM CUTs are to perform the test. Likewise, the system may perform a test operation on a CUT or CUTs controlled by a single logic element.
The system provides greater flexibility in the test environment. For example, the system provides: power savings by testing only CUTs that require a given test operation; the ability to adjust margins for specific CUTs that will normally operate at slower speeds; a diagnostic mode such that select logic elements are adjusted to collect diagnostic information such as, for example, bit fail maps.